1. Field of the Invention
The present invention relates to a system and method for transcoding information. More specifically, the present invention relates to a system and method for transcoding media content.
2. Related Art
The rapid publication of media content has been sought throughout human history. Publishers strive to deliver media content faster to larger audiences. As used herein, the term xe2x80x9cmedia contentxe2x80x9d refers to any information, including audio, video, data, ideas, images, story, sound, text, or other content, that is perceived by one or more human senses.
The digital representation of media content combined with computing and networking technologies now provide a powerful way to publish. According to this new mode of publishing, networking technology permits the delivery of digitized media content over a network to end user computers. Communication protocols define how the digitized media content is exchanged over the network. A media player runs on the end user computer to allow the user to play or otherwise experience the media content.
Digital representations of media content come in different types. These types are generally defined according to a series of publishing variables which can include, but are not limited to, the file format, bit rate, communication protocol(s), physical medium, compression algorithm, and/or digital rights management information associated with the media content. The type of digitized media content which is used will depend upon a number of factors, such as, the computing and/or networking technology used in the process of publishing and the nature of the content itself.
For example, many types of digitized media content are defined according to a file format. Common file formats include QUICK TIME, MPEG, AVI, MP3, REAL, WINDOWS MEDIA, H.263 video coding, and PALM-compatible formats. A format can define media content as a file or in a data stream. See, for example, the graphics file formats and other formats described by J. D. Murray and W. vanRyper, The Encyclopedia of Graphics File Formats, Second Edition (O""Reilly and Associates, Inc.: Sebastopol, Calif.), 1996, which is incorporated in its entirety herein by reference.
Digitized media content types can also be categorized according to the type of encoding or compression technique that is used to reduce the physical size of the media content, or according to the type of physical medium that supports the storage of the media content. Different kinds of physical medium are used in publishing media content, such as magnetic or optical storage devices, memory devices, and wireless mediums.
Digitized media content types may also be categorized by the type of communication protocol or protocols used to transmit the media content. In packet-switched networks such as the Internet, many layers of protocols are used. Such protocols can include network and transport protocols and application protocols. Network and transport protocols are in part responsible for delivering packets of digital data. Examples of network and transport protocols are Internet Protocol (IP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), and Real-Time Transport Protocol (RTP). Application protocols are higher level protocols that run on top of the network and transport protocols. Among other things, application protocols provide services that support digital media publishing. Examples of application protocols used in World Wide Web technology are HyperText Transport Protocol (HTTP) and Real-Time Streaming Protocol (RTSP).
The emergence of a fast-growing number of media players has created a widening gap between the richness of the various types of media content and the diverse capabilities of the client devices to handle the content. As a result, the technology selection process for the end user has become quite complicated. For example, the user often cannot be certain that a given media player will be able to play the type of media content in which he or she is interested. Also, the user may be required to frequently download new media playing software in order to access desired content.
Furthermore, because users employ a wide variety of client media players, content providers are required to publish original media content in a number of source types in order to deliver the content to a large number of users. Content providers with archived media content also face a burden of having to publish archived media content into new or updated source types.
Transcoders convert certain types of media content (source type) to another type of media content (destination type). This conversion is known as xe2x80x9ctranscoding.xe2x80x9d Transcoding can involve a number of different conversion operations. The particular conversion operations used depend upon what publishing variables are being converted. For example, transcoding can involve a conversion operation from one encoded data format to another encoded data format (such as, converting CCITT Group 3 encoded data to RLE-encoded data.) See, Murray and vanRyper, p. 1095.
Conventional multi-type transcoding services are provided off-line, before the content provider publishes media content, adding an undesirable and unavoidable delay to the publishing process. Although arrangements for the real-time transcoding of media content are known, (e.g., transcoding and delivery of live media events over the Internet), these arrangements are limited in that they only allow for media content to be transcoded into a single destination type, and do not permit for the delivery of media content in multiple destination types.
Also, because off-line multi-format transcoding services are expensive, content providers can only afford to have their media content transcoded into a limited number of destination types. Users with media players incapable of accommodating the destination type of the transcoded files simply cannot access the content. Accordingly, conventional media production is limited to a xe2x80x9cpushxe2x80x9d process in which content providers are forced to speculate about which media player users will employ to play their media files.
As a further result of this rapid development in media publishing technology, new internet and wireless device manufacturers must also invest heavily in the transcoding of media content so that a variety of content can be experienced on new media playing devices as new destination types. Thus, new internet and wireless device manufacturers experience the same setbacks and disadvantages from conventional transcoding schemes as described above.
The present invention is directed to a system and method for the on-demand transcoding of media content into from a plurality of source types to a plurality of destination types. In one embodiment, a method is provided for transcoding media content from a source type to a destination type, comprising the steps of receiving a transcoding request for the media content, fetching the media content, selecting one of a plurality of transcoders for transcoding from a plurality of source types to a plurality of destination types based on the source type and the destination type, sending the media content to the selected transcoder, transcoding the media content from the source type to the destination type, thereby generating a transcoded media file, and transmitting the transcoded media content.
In embodiments of the present invention, the media content may comprise either a file of digital information or a stream of digital data. In embodiments of the present invention, the media content is fetched, sent and transcoded as a stream of digital data, the transcoded media file is transmitted as a stream of digital data, and the fetching, sending, transcoding and transmitting are all performed in a pipelined fashion.
In embodiments of the present invention, the transcoding request is received over the Internet and the transcoded media content is transmitted over the Internet.
In embodiments of the present invention, the media content type is defined according to at least one publishing variable, wherein the publishing variable may be the file format of the media content, the bit-rate of the media content, the compression algorithm according to which the media content is stored, the communication protocol according to which the media content is transferred, or the physical medium on which the media content is stored, and the step of transcoding the media content comprises converting the publishing variable of the media content from a source publishing variable type to a destination publishing variable type.
A media transcoding system in accordance with the present invention transcodes media content from a source type to a destination type. The media transcoding system includes a network interface, a resource manager, a transmitting server, a streaming server, and a plurality of transcoders for transcoding from a plurality of source types to a plurality of destination types. The network interface is adapted to receive a transcoding request for the media content. The resource manager is adapted to respond to the transcoding request and, in response to the transcoding request, to command the transcoding server to fetch the media content, to select one of the plurality of transcoders based on the source type and the destination type, to command the selected transcoder to transcode the media content from the source type to the destination type, thereby generating transcoded media content, and to command the streaming server to transmit the transcoded media content.
In embodiments of the present invention, the media content may comprise a file of digital information or a stream of digital data.
In embodiments of the present invention, the transmitting server is adapted to fetch the media content as a data stream, the selected transcoder is adapted to transcode the media content as a data stream, and the streaming server is adapted to transmit the transcoded media content as a data stream. The resource manager manages the operation of the transmitting server, the selected transcoder, and the streaming server so that the fetching, transcoding and transmitting occur in a pipelined fashion.
In embodiments of the present invention, the network interface is adapted to receive the transcoding request over the Internet and the streaming server is adapted to transmit the transcoded media content over the Internet.
In embodiments of the present invention, the media content type is defined according to at least one publishing variable, wherein the publishing variable may be the file format of the media content, the bit-rate of the media content, the compression algorithm according to which the media content is stored, the communication protocol according to which the media content is transferred, or the physical medium on which the media content is stored, and the selected transcoder is adapted to convert the publishing variable of the media content from a source publishing variable type to a destination publishing variable type.
The invention is advantageous in that it permits the transcoding of media content on demand from a single source type to a variety of destination types in a manner that is transparent to the content provider and the user.
The invention is also advantageous in that it permits the transcoding of media content stored in files on demand from a single source type to a variety of destination types in a manner that is transparent to the content provider and the user.
Another advantage of the invention is that it permits the transcoding of live (i.e., streaming) media content on demand from a single source type to a variety of destination types in a manner that is transparent to the content provider and the user.
Another benefit of the invention is that it permits a user to play various types of media content regardless of the media player employed by the user.
Yet another benefit of the invention is that it obviates the need for a user to download a newer media player or upgrade an existing media player in order to access desired media content.
A further advantage of the invention is that it permits a content provider to provide original media content in a single source type to a large number of users using diverse media players that accept different media content types.
A further benefit of the invention is that it expedites the publishing process for media content providers by allowing them to publish media content without first employing off-line encoding services. The invention thus minimizes the time-to-market for the publication of media content.
Another benefit of the invention is that it creates a lower barrier of entry to media publication by permitting content providers to out-source necessary transcoding tasks and to avoid investment in transcoding servers and other equipment necessary for transcoding.
Yet another benefit of the invention is that it permits content providers to deliver media content to users with media players incapable of accommodating the source type of the original media content.
A further advantage of the invention is that it defers the transcoding of media content until the content is demanded by a user for a specific media player. Accordingly, content providers can avoid an unnecessary investment in the transcoding of original media content to types not requested by users.
Additional features and advantages of the invention will be set forth in the description that follows, and in part will be apparent from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention will be realized and attained by the system and method particularly pointed out in the written description and claims hereof as well as the appended drawings.